package com.zmn.plat.admin.controller.plat.biztype;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.zmn.common.dictionary.DictModel;
import com.zmn.plat.manager.dictionary.ProductDict;
import com.zmn.plat.model.entity.plat.biztype.PlatBizType;
import com.zmn.plat.model.entity.plat.biztype.log.PlatBizTypeLog;
import com.zmn.plat.model.entity.plat.biztype.log.PlatBizTypeLogQuery;

/**
 * 平台开通业务类型
 *
 * @author linfeng
 *
 * @since 2020/09/18 18:21
 */
@Controller
@RequestMapping("/plat/biztype/")
public class PlatBizTypeListController extends PlatBizTypeBaseController {

    /**
     * 平台开通业务类型详情
     * 
     * @author linfeng
     * @since 2020/10/28 11:08
     */
    @RequestMapping("detail")
    @RequiresPermissions("/plat/biztype/detail.action")
    public ModelAndView detail() {

        List<PlatBizType> platBizTypes = platBiztypeService.listAll();
        Map<Integer, PlatBizType> map = platBizTypes.stream().collect(Collectors.toMap(o -> o.getPlat(), o -> o));
        List<DictModel> plats = ProductDict.getPlatList();

        List<PlatBizTypeLog> logList = new ArrayList<>();
        PlatBizTypeLogQuery logQuery = new PlatBizTypeLogQuery();
        logQuery.setPageIndex(0);
        logQuery.setPageSize(50);
        logList = platBizTypeLogService.listPageByQuery(logQuery);

        ModelAndView mav = new ModelAndView("plat/biztype/detail");
        mav.addObject("map", map);
        mav.addObject("items", logList);
        mav.addObject("plats", plats);
        mav.addObject("bizTypeList", com.zmn.plat.common.dictionary.ProductDict.listBizType());
        return mav;
    }
}
